package com.seed;

import com.seed.entity.Cat;
import com.seed.mapper.CatMapper;
import com.seed.pagehelper.PageData;
import com.seed.pagehelper.PageQo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author Peter Fan
 */
@RestController
public class MybatisSampleController {

    @Resource
    private CatMapper catMapper;


    @GetMapping("/insert")
    public Cat insert(Cat cat) {
        catMapper.insert(cat);
        return catMapper.getById(cat.getId());
    }

    @GetMapping("/update")
    public Cat update(Cat cat) {
        catMapper.update(cat);
        return catMapper.getById(cat.getId());
    }

    @GetMapping("/getById")
    public Cat getById(@RequestParam("id") Integer id) {
        return catMapper.getById(id);
    }

    @GetMapping("/queryAll")
    public List<Cat> queryAll() {
        return catMapper.queryAll();
    }

    @GetMapping("/queryPage")
    public PageData<Cat> queryPage(@RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "10") int pageSize) {
        PageQo pageQo = new PageQo();
        pageQo.setPageNum(pageNum);
        pageQo.setPageSize(pageSize);
        return catMapper.queryPage(pageQo);
    }

}